<?php

/*
 * to change this template, choose tools | templates
 * and open the template in the editor.
 */

/**
 * description of webserice_model
 *
 * @author montecristo
 */
class webserice_model extends ci_model{
    //put your code here
    
    public function __construct() {
        parent::__construct();
        $this->load->database();
        $this->load->helper('date');
    }
    
    
    public function getserviciosm($serie=0){                        
       
        $query=$this->db->query("select tiposervicio.idservicio,tiposervicio.servicio,dispositivos.minutos from dispositivos inner join (empresaservicio inner join tiposervicio on empresaservicio.idservicio=tiposervicio.idservicio) on empresaservicio.idempresa=dispositivos.empresa where serie='".$serie."';");
        
        $arr["servicios"]=$query->result_array();
        return $arr;           
    } 
    
    
    
    
        
    public function getaplicaciones($serie){
        $datestring = "%y-%m-%d";       
                    
         $query=$this->db->query("select aplicaciones.* from aplicaciones inner join  dispositivos on aplicaciones.iddispositivo=dispositivos.iddispositivo where dispositivos.serie='".$serie."' and aplicaciones.estado=2 and fechaestimada='".mdate($datestring)."';");
        //$query=$this->db->query("select aplicaciones.* from aplicaciones inner join  dispositivos on aplicaciones.iddispositivo=dispositivos.iddispositivo where dispositivos.serie='".$serie."' and aplicaciones.estado=2 and fechaestimada='2013-08-29'");
         $arr2=array();
         $i=0;
         
        foreach ($query->result() as $value) {
            if($value->idprevio<>0){
                $sql = "select * from previos where idprevio=".$value->idprevio;
                $query1=$this->db->query($sql);
                $arr2[$i]=$query1->row();
                $i++;
            }
        }
       $arr["applicaciones"]=$query->result_array();
       if (count($arr2)>0)
        $arr["previos"]=$arr2; 
       //var_dump($arr);
       return $arr;           
    } 
    
    
    public function getcliente($id){
        $query=$this->db->query("select * from clientes where idcliente=".$id);        
        return $query->row();           
    }
    
    public function getencuesta($id){
       
        $query=$this->db->query("select * from encuesta where idencuesta=".$id); 
        $array["encuesta"]=$query->row(); 
       
        $query=$this->db->query("select * from seccion where encuesta=".$id); 
         $array["seccion"]=$query->result_array(); 
        
        $query=$this->db->query("select pregunta.* , subseccion.encabezado as  subseccioninfo from encuesta inner join (seccion inner join pregunta on pregunta.seccion=idseccion) on seccion.encuesta=idencuesta 
          left join subseccion on pregunta.subseccion= idsubseccion where idencuesta=".$id." order by idpregunta,seccion,secuencia"); 
         $array["preguntas"]=$query->result_array(); 
         
         $query=$this->db->query("select opmultiple.* from encuesta inner join (seccion inner join 
                                    (pregunta inner join opmultiple on opmultiple.idpregunta=pregunta.idpregunta)
                                     on pregunta.seccion=idseccion) where idencuesta=".$id." order by opmultiple.idpregunta,opmultiple.secuencia asc"); 
         $array["opciones"]=$query->result_array(); 
         
         $query=$this->db->query("select validacion.* from encuesta inner join (seccion inner join 
                                (pregunta inner join validacion on validacion.idpregunta=pregunta.idpregunta)
                                 on pregunta.seccion=idseccion) where idencuesta=".$id." order by validacion.idpregunta asc"); 
         $array["validacion"]=$query->result_array(); 
         
         
        return $array;       
        
    }
        
    public function insertrespuestasm($json){
        $array=json_decode($json,true);  
            
        $val=0;
        foreach ($array as $value) {
            if($val!=$value["idaplicacion"]){
                $this->changestatusasincronizada($value["idaplicacion"]);
             $val=$value["idaplicacion"];
            }           
            $this->db->insert('respuestas', $value);
        }
               
    }
    
    
    
    
    public function changestatusm($json){
        $array=json_decode($json,true);  
              
       
       
       $this->db->where_in("idaplicacion",$array["idaplicacion"]);
       $this->db->set("estado",$array["estado"]);
       $this->db->update('aplicaciones');
        return $array["estado"];
    }
    
    public function changestatusasincronizada($id){
         
        $datestring = "%y-%m-%d";
       
        $array=array(
            'fechaaplicacion'=> mdate($datestring),
            'estado'=> 5            
        );
        
        
        
        
        $this->db->where_in("idaplicacion",$id);
       // $this->db->set($array);
        //$this->db->set("fechaaplicacion",5);
        $this->db->update('aplicaciones',$array);
       
    }
    
    
     public function setposicionm($serie,$fecha,$lat,$lon,$codigo,$comentario){
        $query=$this->db->query("select * from dispositivos where serie='".$serie."'"); 
        $fila=$query->row(); 
         $datestring = "%y-%m-%dt%h:%i %a";
        
         $format = 'date_atom';
         $time = time();
 
            $data = array(
            'iddispositivo' => $fila->iddispositivo,
            'fecha' => standard_date($format, $time),
            'fechasend' => $fecha, 
            'latitude' => $lat,
            'longitude' =>$lon,  
            'codigo' => $codigo);        
     
            
       $this->db->insert('datosge', $data);
       
       
       if(isset($comentario)){
       
       $data1 = array(
            'iddato' => $this->db->insert_id(),
            'comentario' => $comentario);        
     
       $this->db->insert('comentarios', $data1);
       }
    }
    
    
    public function geteventosm($serie){
        $query=$this->db->query("select codigos.idcodigo as codigo,codigos.codigo as evento,codigos.empresa from codigos where codigos.idcodigo > 102 and empresa=0 or empresa=(select empresas.idempresa from empresas inner join dispositivos on dispositivos.empresa = empresas.idempresa where dispositivos.serie='" .$serie . "');");        
        $array["values"]=$query->result_array(); 
        return $array;           
    }
    
    
}

?>
